/*
 * Copyright (c) 2019 Hitevision
 */

package tw.com.hitevision.whiteboard.android.display;

import android.content.Context;
import android.content.Intent;

public interface DisplayControl {

    class DisplayControlHolder {
        private static DisplayControl instance;
        private static void createDisplayControlImpl(Context context) {
            instance = new DisplayControlImpl(context);
        }
    }

    static DisplayControl newInstance(Context context) {
        if (DisplayControlHolder.instance == null) {
            DisplayControlHolder.createDisplayControlImpl(context);
        }
        return DisplayControlHolder.instance;
    }

    boolean isSupported(Context context);

    boolean isRunning();

    boolean isX9DeviceType();

    void setDisabledBounds(int x, int y, int width, int height);

    void start(Context context);

    void startFromOnResume(Context context);

    void stop(Context context);

    void cancel(Context context);

    void setIntent(Intent intent);
}
